/**
 * >author
 */
package com.cupcakeengine.events
{	
	import flash.events.Event;	

	public dynamic class BasicEvent extends Event
	{
		protected var _target 	: Object;
		protected var _type 	: String;
		protected var _param 	: *;
		protected var _context 	: int;
		
		
		public override function get type() 	: String  { return _type;}
		public function set type( en : String ) : void
		{
			_type = en;
		}
		
		public override function get target() 			: Object { return _target; }
		public function set target( oTarget : Object ) 	: void 
		{ 
			_target = oTarget; 
		}
		
		public function get param() 			: * { return _param; }		
		public function get context() 			: int { return _context; }
		
		public function BasicEvent( type : String, target : Object = null, param:* = null, context:int=-1 )
		{
			super ( type, true );
			
			_type 		= type;
			_target 	= target;
			_param		= param;
			_context 	= context;
		}
	
		override public function clone() : Event
		{
			return new BasicEvent(_type, _target, _param, _context);
		}
	}
}